﻿namespace TestTool.Proxies.Onvif
{
    using System;
    using System.CodeDom.Compiler;
    using System.ServiceModel;

    [GeneratedCode("System.ServiceModel", "3.0.0.0"), ServiceContract(Namespace="http://www.onvif.org/ver20/ptz/wsdl", ConfigurationName="PTZ")]
    public interface PTZ
    {
        [ServiceKnownType(typeof(DeviceEntity)), ServiceKnownType(typeof(ConfigurationEntity)), OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/AbsoluteMove", ReplyAction="*"), XmlSerializerFormat]
        void AbsoluteMove(string ProfileToken, PTZVector Position, PTZSpeed Speed);
        [ServiceKnownType(typeof(DeviceEntity)), XmlSerializerFormat, ServiceKnownType(typeof(ConfigurationEntity)), OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/ContinuousMove", ReplyAction="*")]
        ContinuousMoveResponse ContinuousMove(ContinuousMoveRequest request);
        [return: MessageParameter(Name="PresetTourToken")]
        [ServiceKnownType(typeof(ConfigurationEntity)), OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/CreatePresetTour", ReplyAction="*"), ServiceKnownType(typeof(DeviceEntity)), XmlSerializerFormat]
        string CreatePresetTour(string ProfileToken);
        [return: MessageParameter(Name="PTZConfiguration")]
        [OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/GetConfiguration", ReplyAction="*"), ServiceKnownType(typeof(DeviceEntity)), XmlSerializerFormat, ServiceKnownType(typeof(ConfigurationEntity))]
        PTZConfiguration GetConfiguration(string PTZConfigurationToken);
        [return: MessageParameter(Name="PTZConfigurationOptions")]
        [ServiceKnownType(typeof(DeviceEntity)), OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/GetConfigurationOptions", ReplyAction="*"), XmlSerializerFormat, ServiceKnownType(typeof(ConfigurationEntity))]
        PTZConfigurationOptions GetConfigurationOptions(string ConfigurationToken);
        [return: MessageParameter(Name="PTZConfiguration")]
        [ServiceKnownType(typeof(DeviceEntity)), OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/GetConfigurations", ReplyAction="*"), XmlSerializerFormat, ServiceKnownType(typeof(ConfigurationEntity))]
        GetConfigurationsResponse GetConfigurations(GetConfigurationsRequest request);
        [return: MessageParameter(Name="PTZNode")]
        [ServiceKnownType(typeof(DeviceEntity)), OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/GetNode", ReplyAction="*"), XmlSerializerFormat, ServiceKnownType(typeof(ConfigurationEntity))]
        PTZNode GetNode(string NodeToken);
        [return: MessageParameter(Name="PTZNode")]
        [OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/GetNodes", ReplyAction="*"), XmlSerializerFormat, ServiceKnownType(typeof(ConfigurationEntity)), ServiceKnownType(typeof(DeviceEntity))]
        GetNodesResponse GetNodes(GetNodesRequest request);
        [return: MessageParameter(Name="Preset")]
        [ServiceKnownType(typeof(ConfigurationEntity)), ServiceKnownType(typeof(DeviceEntity)), OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/GetPresets", ReplyAction="*"), XmlSerializerFormat]
        GetPresetsResponse GetPresets(GetPresetsRequest request);
        [return: MessageParameter(Name="PresetTour")]
        [OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/GetPresetTour", ReplyAction="*"), ServiceKnownType(typeof(DeviceEntity)), XmlSerializerFormat, ServiceKnownType(typeof(ConfigurationEntity))]
        PresetTour GetPresetTour(string ProfileToken, string PresetTourToken);
        [return: MessageParameter(Name="Options")]
        [OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/GetPresetTourOptions", ReplyAction="*"), XmlSerializerFormat, ServiceKnownType(typeof(DeviceEntity)), ServiceKnownType(typeof(ConfigurationEntity))]
        PTZPresetTourOptions GetPresetTourOptions(string ProfileToken, string PresetTourToken);
        [return: MessageParameter(Name="PresetTour")]
        [XmlSerializerFormat, OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/GetPresetTours", ReplyAction="*"), ServiceKnownType(typeof(DeviceEntity)), ServiceKnownType(typeof(ConfigurationEntity))]
        GetPresetToursResponse GetPresetTours(GetPresetToursRequest request);
        [return: MessageParameter(Name="Capabilities")]
        [XmlSerializerFormat, ServiceKnownType(typeof(DeviceEntity)), ServiceKnownType(typeof(ConfigurationEntity)), OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/GetServiceCapabilities", ReplyAction="*")]
        PtzServiceCapabilities GetServiceCapabilities();
        [return: MessageParameter(Name="PTZStatus")]
        [ServiceKnownType(typeof(DeviceEntity)), ServiceKnownType(typeof(ConfigurationEntity)), OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/GetStatus", ReplyAction="*"), XmlSerializerFormat]
        PTZStatus GetStatus(string ProfileToken);
        [ServiceKnownType(typeof(ConfigurationEntity)), ServiceKnownType(typeof(DeviceEntity)), OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/GotoHomePosition", ReplyAction="*"), XmlSerializerFormat]
        void GotoHomePosition(string ProfileToken, PTZSpeed Speed);
        [OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/GotoPreset", ReplyAction="*"), ServiceKnownType(typeof(ConfigurationEntity)), ServiceKnownType(typeof(DeviceEntity)), XmlSerializerFormat]
        void GotoPreset(string ProfileToken, string PresetToken, PTZSpeed Speed);
        [XmlSerializerFormat, ServiceKnownType(typeof(DeviceEntity)), ServiceKnownType(typeof(ConfigurationEntity)), OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/ModifyPresetTour", ReplyAction="*")]
        void ModifyPresetTour(string ProfileToken, PresetTour PresetTour);
        [ServiceKnownType(typeof(DeviceEntity)), ServiceKnownType(typeof(ConfigurationEntity)), OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/OperatePresetTour", ReplyAction="*"), XmlSerializerFormat]
        void OperatePresetTour(string ProfileToken, string PresetTourToken, PTZPresetTourOperation Operation);
        [ServiceKnownType(typeof(DeviceEntity)), ServiceKnownType(typeof(ConfigurationEntity)), OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/RelativeMove", ReplyAction="*"), XmlSerializerFormat]
        void RelativeMove(string ProfileToken, PTZVector Translation, PTZSpeed Speed);
        [OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/RemovePreset", ReplyAction="*"), XmlSerializerFormat, ServiceKnownType(typeof(DeviceEntity)), ServiceKnownType(typeof(ConfigurationEntity))]
        void RemovePreset(string ProfileToken, string PresetToken);
        [XmlSerializerFormat, ServiceKnownType(typeof(ConfigurationEntity)), ServiceKnownType(typeof(DeviceEntity)), OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/RemovePresetTour", ReplyAction="*")]
        void RemovePresetTour(string ProfileToken, string PresetTourToken);
        [return: MessageParameter(Name="AuxiliaryResponse")]
        [ServiceKnownType(typeof(ConfigurationEntity)), ServiceKnownType(typeof(DeviceEntity)), OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/SendAuxiliaryCommand", ReplyAction="*"), XmlSerializerFormat]
        string SendAuxiliaryCommand(string ProfileToken, string AuxiliaryData);
        [ServiceKnownType(typeof(DeviceEntity)), ServiceKnownType(typeof(ConfigurationEntity)), OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/SetConfiguration", ReplyAction="*"), XmlSerializerFormat]
        void SetConfiguration(PTZConfiguration PTZConfiguration, bool ForcePersistence);
        [ServiceKnownType(typeof(DeviceEntity)), XmlSerializerFormat, OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/SetHomePosition", ReplyAction="*"), ServiceKnownType(typeof(ConfigurationEntity))]
        void SetHomePosition(string ProfileToken);
        [OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/SetPreset", ReplyAction="*"), ServiceKnownType(typeof(ConfigurationEntity)), ServiceKnownType(typeof(DeviceEntity)), XmlSerializerFormat]
        void SetPreset(string ProfileToken, string PresetName, ref string PresetToken);
        [XmlSerializerFormat, ServiceKnownType(typeof(DeviceEntity)), ServiceKnownType(typeof(ConfigurationEntity)), OperationContract(Action="http://www.onvif.org/ver20/ptz/wsdl/Stop", ReplyAction="*")]
        void Stop(string ProfileToken, bool PanTilt, bool Zoom);
    }
}

